package ar.com.vates.polimorfismo.ejercicio2;

public class Ejercicio2 {

	
	public static void main(String[] args) {
		Algoritmo algoritmoDiferencia = new AlgoritmoDiferencia(4);
		Algoritmo algoritmoMultiplicacion = new AlgoritmoMultiplicacion(4);
		Algoritmo algoritmoXOR = new AlgoritmoXOR(4);
		
		Encriptador nuevaEncriptacion = new Encriptador();
		
		int numero = 1011;
		encriptarDesencriptar(algoritmoXOR, nuevaEncriptacion, numero);
		encriptarDesencriptar(algoritmoDiferencia, nuevaEncriptacion, numero);
		encriptarDesencriptar(algoritmoMultiplicacion, nuevaEncriptacion, numero);
		
	}

	private static void encriptarDesencriptar(Algoritmo algoritmo,
			Encriptador nuevaEncriptacion, int numero) {
		int numeroEncriptado;
		
		System.out.println(algoritmo.getClass().getSimpleName());
		
		numeroEncriptado = nuevaEncriptacion.encriptar(numero, algoritmo);
		System.out.println("Numero a encriptar: " + numero);
		System.out.println("Numero encriptado: " + numeroEncriptado + "\tNumero desencriptado: "
		+nuevaEncriptacion.desencriptar(numeroEncriptado, algoritmo));
		System.out.println();
	}
}
